草庐IT

JDK17 对e提升

全部标签

c++ - 当我不再需要它们时如何放弃提升的特权

我有一个应用程序需要在以管理员身份运行时注册控件,我希望应用程序在不再需要提升的权限时放弃这些权限。我读到这可以通过AdjustTokenPrivileges(DroppingprivilegesinC++onWindows)完成,但我没有找到任何示例代码可以让我从SECURITY_MANDATORY_HIGH_RID转到SECURITY_MANDATORY_MEDIUM_RID。我的代码是使用VisualStudio编写的C++。 最佳答案 如果你愿意samplecodethatwillallowmetogofromSECURIT

java - 从环境变量中的用户帐户指向 JDK

我在没有管理员权限的计算机上。上面安装了JDK1.7,在系统环境变量中,它是第一个出现的。所以java-version显示1.7。我的要求是使用JDK1.8。但是我无权卸载Java7,无权修改系统环境变量。我尝试在用户环境变量上设置JAVA_HOME和JDK1.8的路径。当我回显%path%时,我可以在末尾看到我的JDK1.8路径。但是由于1.7路径仍然是第一个,java-version仍然返回1.7。有没有办法让我的JDK1.8运行起来? 最佳答案 您可以通过直接指向完整路径来简单地做到这一点。$JDK-1.8-FULL-PATH

java - 如何强制 Red Hat OpenJDK 8 在 Windows 上像 AdoptOpenJDK 和 Oracle JDK 一样清晰地呈现字体?

我们的用户在他们的Windows桌面上运行我们的JavaGUI应用程序,我们计划从OracleJava8切换到OpenJDK8。但是我们发现不同的OpenJDK构建在字体渲染质量上不一致,Oracle和AdoptOpenJDK相当,但RedHat严重缺乏。以下屏幕截图显示了一个简单的JavaAWT/Swing程序在Windows上的三种不同JDK上:甲骨文1.8.0_201-b26采用OpenJDK1.8.0_202-b08红帽1.8.0_201-2-redhat-b09RedHatJDK中的渲染存在一些问题,因为每个字符都被扭曲了。该程序仅显示带有命令行指定的Dialog/bold/

c - 使用 CreateProcessWithTokenW() 从管理员帐户以非提升模式启动进程

我关注了FrankK.的proposedsolution用于从提升的用户进程启动普通用户进程。但是,我在使建议的解决方案起作用时遇到了一些困难(Win7x64Professional;“普通用户”进程是从具有管理权限的域帐户启动的)。流程创建代码如下所示:HANDLEprocessHandle=getProcessHandle("explorer.exe");if(OpenProcessToken(processHandle,MAXIMUM_ALLOWED,&hToken)){if(DuplicateTokenEx(hToken,MAXIMUM_ALLOWED,NULL,Securit

java - 如何启动需要提升权限的 .jar?

我有一个执行简单系统管理任务的小.jar,因此它需要以提升的权限运行。我已经研究了几个小时,现在知道可以通过三种方式完成:1)从提升的cmd提示符运行2)将.jar转换为.exe并将其与list文件捆绑在一起3)使用另一个.jar启动我的.jar并请求许可。选项1)对我不起作用,因为这需要部署给不知道如何执行此操作的其他用户。选项2)并不理想,因为我选择用Java编写这个应用程序是为了它的可移植性。这可能会在不同的系统上运行,而Java似乎是最兼容的。这样就剩下了选项3),这就是我的问题所在。我似乎无法筛选大量关于如何为我的应用程序创建包装器的信息。考虑到我的规范,对于创建包装器.ja

java - 为 java 请求提升

我们必须使用提升来运行我们基于Java的应用程序的更新程序(因此它可以覆盖安装位置中的文件,通常是%ProgramFiles%\)。到目前为止,我使用的是请求提升并调用另一个脚本的.vbs脚本。有人告诉我,出于安全原因,某些公司不允许运行.vbs脚本。我宁愿创建一个需要提升的.exe。这就是我所做的,但现在当我尝试直接从Java启动需要提升的应用程序时,它失败并出现java.io.IOException:CreateProcesserror=740,请求的操作需要提升。如何运行这个Windows自动请求所需提升的应用程序? 最佳答案

c++ - 获取优先于提升进程的互斥量

我有一个Mutex来避免多个进程同时运行,这些进程可能会在Mutex释放后等待启动。现在我可以有一些实例试图获得一个提升的和非提升的Mutex。一旦Mutex被持有锁的进程释放,我希望提升的进程能够在非提升的进程之前获取Mutex。不太可能,但我想考虑许多未提升的实例和许多提升的实例竞争同一个互斥锁以带来强大的功能。实现该目标的稳健方法是什么?该问题的解决方案可以使用多个互斥量。我在想我可以研究这种方法,将高架和非高架区分开来,并玩点小把戏。编辑:我主要在寻找WindowsVista+的答案,但如果我们将问题减少到优先获取互斥锁的进程类别,我认为该问题适用于其他操作系统。了解其他操作系

windows - NodeJS - 请求提升权限 (WIN/OSX)

我目前是一个基于NodeJS的小型终端应用程序,使用EncloseJS编译.我的应用程序将需要在Windows和OSX上提升权限才能工作,我如何使用Node完成此操作?我还没有找到任何让我开始的东西。谢谢, 最佳答案 对于Windows,有提供UAC控制的node-windows包。在OSX中,命令行工具的标准方式是不请求权限。工具仅使用它们获得的权限(有时通过危险的setuid标志隐含地使用),如果这还不够,它们就会失败并要求使用sudo运行。如果您的工具只需要短暂的权限(例如打开一个端口或一个secret文件),那么您可以要求它

java - 为 Linux 安装 JDK : the keytool command requires a mounted proc fs (/proc). Windows 子系统时出错

我正在尝试在适用于Linux(Ubuntu14.04)的Windows子系统上安装OracleJDK1.7,但出现以下错误:thekeytoolcommandrequiresamountedprocfs(/proc).Java安装失败并出现大量错误:thekeytoolcommandrequiresamountedprocfs(/proc).dpkg:errorprocessingpackageca-certificates-java(--configure):subprocessinstalledpost-installationscriptreturnederrorexitstat

windows - 重定向 ShellExecute 的进程标准输出(或其他提升和重定向的方式)

这个问题在这里已经有了答案:UsingShellExecuteExandcapturingstandardin/out/err(5个答案)关闭5年前。我正在使用裸机Win32Api。我需要以提升的权限启动应用程序并且应用程序没有list。因此,唯一的方法是将ShellExecuteEx与runAs动词一起使用。它有效,但我需要阅读进程标准输出。通过CreateProcess,我得到了STARTUPINFO,我可以使用它来传输进程标准输出。但是ShellExecuteEx没有这样的API。那么,如何提升和重定向标准输出?